<%--
  Created by IntelliJ IDEA.
  User: Doris丶Lee
  Date: 2020-05-19
  Time: 11:55
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%--需要导入实体类，才能强制类型转换，使用getter和setter方法--%>
<%@ page import="com.po.User" %>
<html>
<head>
    <title>JavaBean的四个作用域范围</title>
</head>
<body>
    <h1>Javabean的四个作用域范围</h1>
    <hr>

    <%--<jsp:useBean id="myUser" class="com.po.User" scope="application"/>--%>
    <jsp:useBean id="myUser" class="com.po.User" scope="request"/>
    <%--<jsp:useBean id="myUser" class="com.po.User" scope="session"/>--%>
    <%--<jsp:useBean id="myUser" class="com.po.User" scope="page"/>--%>


    <h3>1.使用userBean获取用户名和密码</h3>
    用户名：<jsp:getProperty name="myUser" property="username"/><br>
    密码：<jsp:getProperty name="myUser" property="password"/><br>

    <hr>

    <h3>2.使用JSP内置对象获取用户名和密码，通过page导入实体类</h3>
    <p>注意：务必引如实体类才能正确强制类型转换</p>

    <%-- （1）scope="application" --%>
    <%--用户名：<%=((User)application.getAttribute("myUser")).getUsername()%><br>--%>
    <%--密码：<%=((User)application.getAttribute("myUser")).getPassword()%><br>--%>

    <%-- （2）scope="session" --%>
    <%--用户名：<%=((User)session.getAttribute("myUser")).getUsername()%><br>--%>
    <%--密码：<%=((User)session.getAttribute("myUser")).getPassword() %><br>--%>

    <%-- （3）scope="request" --%>
    用户名：<%=((User)request.getAttribute("myUser")).getUsername()%><br>
    密码：<%=((User)request.getAttribute("myUser")).getPassword() %><br>

    <%-- （4）scope="page"，只在当前页面有效，无论是转发/重定向都无法获取--%>
    <%--page范围：做判断防止空指针异常--%>
    <%--<%--%>
        <%--String username = "";--%>
        <%--String password = "";--%>
        <%--if(pageContext.getAttribute("myUser")!=null )--%>
        <%--{--%>
            <%--username = ((User)pageContext.getAttribute("myUser")).getUsername();--%>
            <%--password = ((User)pageContext.getAttribute("myUser")).getPassword();--%>
        <%--}--%>

    <%--%>--%>
    <%--用户名：<%=username%><br>--%>
    <%--密码：<%=password%><br>--%>

</body>
</html>
